#include "moduleManager.h"
#include "logger.h"


void *c_handle;
        
int load_module(const char* module_path){
    if(NULL == module_path){
        return -1;
    }
    c_handle = dlopen((char *)module_path, RTLD_LOCAL | RTLD_LAZY);
    if (!c_handle) {
        log_file_w("加载%s模块异常: %s", (char *)module_path, dlerror());
        return -1;
     }
     return 0;
}

void *function(const char* func_name){
    if((NULL == c_handle) || (NULL == func_name)){
        return NULL;
    }
    void *ret = dlsym(c_handle,(const char *)func_name);
    if(NULL == ret){
        log_w("get function ret = %s", dlerror());
    }
    return ret;
}

int  destroy_module(){
    if(NULL == c_handle){
        return -1;
    }
    return dlclose(c_handle);
}

